const paths = require('./paths'),
  fs = require('fs')

// 不同编译的应用所处的目录并不相同
function genEnv(appName) {
  NODE_ENV = process.env.NODE_ENV
  const dotenvFiles = [
    // .env.[NODE_ENV].local
    `${paths.dotenv(appName)}.${NODE_ENV}.local`,
    // .env.local
    NODE_ENV !== 'test' && `${paths.dotenv(appName)}.local`,
    // .env.[NODE_ENV]
    `${paths.dotenv(appName)}.${NODE_ENV}`,
    // .env
    paths.dotenv(appName),
  ].filter(Boolean)

  dotenvFiles.forEach(dotenvFile => {
    if (fs.existsSync(dotenvFile)) {
      require('dotenv-expand').expand(
        require('dotenv').config({
          path: dotenvFile,
        })
      );
    }
  })
}

module.exports = {
  genEnv,
}